from selenium import  webdriver
import time
from selenium.webdriver.common.by import By

d = webdriver.Chrome()
d.maximize_window()  #最大化窗口
d.get("https://mail.163.com/")
time.sleep(1)
# 当你确认 你的定位没有问题，但是 Python仍然抛出 NoSuchElementException 异常
# 检查一下，你所定位的元素，是否 处于 一个 frame标签 或者 iframe 标签中
# 处于 frame标签 或者 iframe标签的 ，叫做表单的嵌套，需要切换到 所处的处于 frame标签 或者 iframe标签

# 1.先定位到 所处的处于 frame标签 或者 iframe标签
ele = d.find_element(By.CSS_SELECTOR, '[scrolling="no"]')
# 2.切换过去 switch_to.frame( 表单定位 )，切换过去之后，就只能操作 该表单中的元素了
d.switch_to.frame( ele )
time.sleep(1)

# 定位 用户名输入框，输入内容
usr_ele = d.find_element(By.CSS_SELECTOR, '[data-type="email"]')
usr_ele.send_keys('admin123')
time.sleep(3)

# 如果要操作 表单 之外的元素，跳出表单
d.switch_to.default_content() # 跳到最外层
vip_ele = d.find_element(By.LINK_TEXT, 'VIP')
vip_ele.click()
time.sleep(5)
d.quit()